﻿using ServiceContracts.DTO;

namespace ServiceContracts
{
    /// <summary>
    /// Represents business logic for manipulating Country entity
    /// </summary>
    public interface ICountriesService
    {
        /// <summary>
        /// Add a country object to the list of countries
        /// </summary>
        /// <param name="countryAddRequest">添加国家对象</param>
        /// <returns>返回添加的国家对象（包括新生成的国家ID）</returns>
       CountryResponse AddCountry(CountryAddRequest? countryAddRequest);

        /// <summary>
        /// 返回所有国家列表
        /// </summary>
        /// <returns>所有国家列表</returns>
        List<CountryResponse> GetAllCountries();

        /// <summary>
        /// 返回根据countryID得到的国家对象
        /// </summary>
        /// <param name="countryID">countryID to search</param>
        /// <returns>返回匹配的国家对象</returns>
        CountryResponse? GetCountryByCountryID(Guid? countryID);
    }
}
